/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package escola;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import modelo.Aluno;
import modelo.Departamento;
import modelo.Disciplina;
import modelo.Curso;

/**
 *
 * @author Junior
 */
public class Escola {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        EntityManagerFactory factory =
        Persistence.createEntityManagerFactory("EscolaPU");
 
        EntityManager manager =
        factory.createEntityManager();
        
        Departamento departamento = new Departamento();
        
        departamento.setId(1L);
        departamento.setDepnome("DEPTO INFORMÁTICA");
        
        Disciplina disciplina = new Disciplina();
        
        disciplina.setId(1L);
        disciplina.setDisc_nome("MATEMATICA");
        
        Curso curso = new Curso();
        
        curso.setId(100L);
        curso.setCur_nome("TEC. INFO");
        
        Aluno aluno = new Aluno();
        
        aluno.setId(1000L);
        aluno.setAl_nome("Dora");
        aluno.setAl_idade(15);
        aluno.setAlrenda(1500D);
                
        manager.getTransaction().begin();
        manager.persist(departamento);
        manager.persist(disciplina);
        manager.persist(curso);
        manager.persist(aluno);
        manager.getTransaction().commit();
        
        //Alterando dados
        //1)Recuperando dados do Banco Find=Select
        Aluno alunorecuperado
         = manager.find(Aluno.class,1000L);
        System.out.println(aluno.getAl_nome());
        alunorecuperado.setAl_nome("Beacho");
        
        //2)Gravando a alteração Update
        manager.getTransaction().begin();
        manager.remove(alunorecuperado);
        manager.getTransaction().commit();
        
        
        aluno = manager.find(Aluno.class,1000L);
        System.out.println(alunorecuperado.getAl_nome());
    }
    
}
